//使用proxy操作的都是代理也就是p 可以想象成obj是一个明星  p代理是助手 基本上操作数据都是用代理

let p = new Proxy(
  {},
  {
    get: function (target, property, receiver) {
      console.log(target, property);
      return target[property];
    },
    set(target, property, value, receiver) {
      console.log(target, this, "set");
      console.log(property, "set-key");
      console.log(value, "set-value");
      console.log(receiver, "set");
      return (target[property] = value);
    },
    // target目标对象。prop需要检查是否存在的属性。
    has(target, prop) {
      // handler.has() 方法是针对 in 操作符的代理方法。
      return target[prop];
    },
  }
);
p.a = 10;

console.log(p.a);
console.log("b" in p);
